package  res{
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.DisplayObject;
	import flash.display.DisplayObjectContainer;
	import flash.display.Graphics;
	import flash.display.Shape;
	import flash.display.Sprite;
	import flash.geom.Matrix;
	
	
	/**
	 * <table cellpadding="0" cellspacing="0" border="0">
	 * <tr><td><b>Language Version:</b>ActionScript 3.0</td></tr>
	 * <tr><td><b>Runtime Versions:</b>AIR 1.0, Flash Player 10.0</td></tr></table>
	 * <p>GDI主要实现常用图形快速绘图功能。</p>
	 */
	public class GDI{
		private static const m:Matrix=new Matrix();
		/**
		 * 横向动作，用于drawBitmapTurn()图形翻转控制。
		 */
		public static const HORIZONTAL:String = "horizontal";
		/**
		 * 纵向动作，用于drawBitmapTurn()图形翻转控制。
		 */
		public static const VERTICAL:String = "vertical";
		/**
		 * 通过参数设置快速绘制bitmapData在一个指定的Graphics对象实例上。
		 * @param s 需要绘制图形的容器对象实例。
		 * @param x 需要绘制图形在容器上的x轴坐标。
		 * @param y 需要绘制图形在容器上的y轴坐标。
		 * @param width 需要绘制图形在容器上的宽度。
		 * @param height 需要绘制图形在容器上的宽度。
		 * @param bitmapData 需要绘制图形的对象实例。
		 * @param turn 需要绘制图形的翻转方式，默认为水平、垂直翻转各一次。
		 * 
		 * @example 示例:
		 * <listing version="3.0">
		 * class Test extends Sprite{
		 * 		public function Test(){
		 * 			var bitmapData:BitmapData = new BitmapData(50, 50, 0xff0000);
		 * 			GDI.drawBitmapTurn(graphics, 10, 10, 50, 50, bitmapData);
		 * 		}
		 * }
		 * </listing> 
		 */
		public static function drawBitmapTurn(g:Graphics, x:int, y:int, width:int, height:int, bitmapData:BitmapData, turn:String = ""):void{
			if(turn == "horizontal"){//水平
				m.a = -1;
				m.d = 1;
				m.tx = width + x;
				m.ty = y;
			} else if(turn == "vertical"){//垂直
				m.d = -1;
				m.a = 1;
				m.tx = x;
				m.ty = height + y;
			} else {
				m.d = -1;
				m.ty = height + y;
				m.a = -1;
				m.tx = width + x;
			}
			g.beginBitmapFill(bitmapData, m, true, false);
			g.drawRect(x , y, width, height);
			g.endFill();
		}
		
		/**
		 * 渲染一个矩形颜色。
		 */
		public static function drawColor(g:Graphics, c:uint, alpha:Number, x:int, y:int, width:int, height:int):void{
			g.beginFill(c, alpha);
			g.drawRect(x, y, width, height);
			g.endFill();
		}
		/**
		 * 渲染一个圆角矩形颜色。
		 */
		public static function drawRoundColor(g:Graphics, c:uint, alpha:Number, x:int, y:int, width:int, height:int, topLeftRadius:int = 0, topRightRadius:int = 0, bottomLeftRadius:int = 0, bottomRightRadius:int = 0):void{
			g.beginFill(c, alpha);
			g.drawRoundRectComplex(x, y, width, height, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
			g.endFill();
		}
		/**
		 * 清除渲染区域
		 */
//		public static function clear(g:Graphics):void{
//			var g:Sprite = s.graphics;
//			while(g.numChildren > 0){
//				var rect:Image = g.removeChildAt(0) as Image;
//				rect.dispose();
//			}
//		}
		/**
		 * 通过参数设置快速绘制一个指定参数的空心矩形在Graphics对象实例上。
		 * @param g 需要绘制空心矩形的Graphics对象实例。
		 * @param x 需要绘制空心矩形在Graphics上的x轴坐标。
		 * @param y 需要绘制空心矩形在Graphics上的y轴坐标。
		 * @param width 需要绘制空心矩形在Graphics上的宽度。
		 * @param height 需要绘制空心矩形在Graphics上的宽度。
		 * @param color 需要绘制空心矩形的颜色值。
		 * @param alpha 需要绘制空心矩形的透明度。
		 * @param spacing 需要绘制空心矩形的间距值。
		 * 
		 * @example 示例:
		 * <listing version="3.0">
		 * class Test extends Sprite{
		 * 		public function Test(){
		 * 			GDI.drawEmptyRect(graphics, 10, 10, 50, 50, 0x00, 0.5, 10);
		 * 		}
		 * }
		 * </listing> 
		 */
		public static function drawEmptyRect(g:Graphics, x:int, y:int, width:int, height:int, color:uint = 0xffffff, alpha:Number = 1, spacing:int = 1):void{
			g.beginFill(color, alpha);
			g.drawRect(x, y, width, height);
			g.drawRect(x + spacing, y + spacing, width - spacing * 2, height - spacing * 2);
			g.endFill();
		}
		/**
		 * 通过参数设置快速绘制一个指定参数的圆角空心矩形在Graphics对象实例上。
		 * @param g 需要绘制圆角空心矩形的Graphics对象实例。
		 * @param x 需要绘制圆角空心矩形在Graphics上的x轴坐标。
		 * @param y 需要绘制圆角空心矩形在Graphics上的y轴坐标。
		 * @param width 需要绘制圆角空心矩形在Graphics上的宽度。
		 * @param height 需要绘制圆角空心矩形在Graphics上的宽度。
		 * @param ellipseWidth 需要绘制圆角空心矩形的圆角弧度。
		 * @param color 需要绘制圆角空心矩形的颜色值。
		 * @param alpha 需要绘制圆角空心矩形的透明度。
		 * @param spacing 需要绘制圆角空心矩形的间距值。
		 * 
		 * @example 示例:
		 * <listing version="3.0">
		 * class Test extends Sprite{
		 * 		public function Test(){
		 * 			GDI.drawEmptyRoundRect(graphics, 10, 10, 50, 50, 3, 5, 5, 5, 0x00, 0.5, 10);
		 * 		}
		 * }
		 * </listing> 
		 */
		public static function drawEmptyRoundRect(g:Graphics, x:int, y:int, width:int, height:int, ellipseWidth:Number = 1, color:uint = 0xffffff, alpha:Number = 1, spacing:int = 1):void{
			g.beginFill(color, alpha);
			g.drawRoundRect(x, y, width, height, ellipseWidth, ellipseWidth);
			g.drawRoundRect(x + spacing, y + spacing, width - spacing * 2, height - spacing * 2, ellipseWidth, ellipseWidth);
			g.endFill();
		}
		/**
		 * 通过参数设置快速绘制一个指定参数的正菱形BitmapData。
		 * @param gridWidth 需要绘制正菱形的宽度。
		 * @param gridHeight 需要绘制正菱形的高度。
		 * @param color 需要绘制正菱形的颜色值。
		 * @return 返回一个上述规格的正菱形bitmapData。
		 * 
		 * @example 示例:
		 * <listing version="3.0">
		 * class Test extends Sprite{
		 * 		public function Test(){
		 * 			var mc:MoviceClip = GDI.drawBarrierBitmapData(64, 32, 0xff0000);
		 * 			mc.y = mc.x = 10;
		 * 			addChild(mc);
		 * 		}
		 * }
		 * </listing> 
		 */
		public static function drawBarrierBitmapData(gridWidth:int, gridHeight:int, color:uint = 0xff0000):BitmapData {
			//菱形
			var shape:Shape = new Shape();
			var g:Graphics = shape.graphics;
			//外框
			g.beginFill(color, .3);
//			g.lineStyle(1, 0xff0000, 0.6);
			g.moveTo(0, gridHeight/2);
			g.lineTo(gridWidth/2, 0);
			g.lineTo(gridWidth, gridHeight/2);
			g.lineTo(gridWidth/2, gridHeight);
			g.lineTo(0, gridHeight/2);
			var bitmapData:BitmapData = new BitmapData(gridWidth, gridHeight, true, 0x00000000);
			bitmapData.draw(shape);
			return bitmapData;
		}
		/**
		 * 通过参数设置快速绘制一个指定参数的内发光矩形在Graphics对象实例上。
		 * @param g 需要绘制内发光矩形的Graphics对象实例。
		 * @param color 需要绘制内发光矩形的填充颜色值。
		 * @param glowColor 需要绘制内发光矩形的发光颜色值。
		 * @param x 需要绘制内发光矩形在Graphics上的x轴坐标。
		 * @param y 需要绘制内发光矩形在Graphics上的y轴坐标。
		 * @param width 需要绘制内发光矩形在Graphics上的宽度。
		 * @param height 需要绘制内发光矩形在Graphics上的宽度。
		 * @param alpha 需要绘制内发光矩形的填充透明度。
		 * @param glowAlpha 需要绘制内发光矩形的发光透明度。
		 * @param line 需要绘制内发光矩形的光圈范围。
		 * @param sFill 需要绘制内发光矩形是否显示填充色。
		 * 
		 * @example 示例:
		 * <listing version="3.0">
		 * class Test extends Sprite{
		 * 		public function Test(){
		 * 			GDI.drawRectInnerGlow(graphics, 0xffffff, 0xff0000, 50, 50, 80, 80, 0.4, 1, 5, true);
		 * 		}
		 * }
		 * </listing> 
		 */
		public static function drawRectInnerGlow(g:Graphics, color:uint, glowColor:uint, x:int, y:int, width:int, height:int, alpha:Number = 1, glowAlpha:Number = 1, line:int = 3, sFill:Boolean = false):void{
			g.beginFill(color, alpha);
			g.drawRect(x, y, width, height);
			if(!sFill){
				g.drawRect(x + 1, y + 1, width - 2, height - 2);
			}
			g.endFill();
			var change:Number = glowAlpha / line;
			while(--line > 0){
				g.beginFill(glowColor, glowAlpha - change * line);
				g.drawRect(x + line, y + line, width - line * 2, height - line * 2);
				g.drawRect(x + line + 1, y + line + 1, width - line * 2 - 2, height - line * 2 - 2);
				g.endFill();
			}
		}
		/**
		 * 通过参数设置快速绘制一个指定参数的内发光圆角矩形在Graphics对象实例上。
		 * @param g 需要绘制内发光圆角矩形的Graphics对象实例。
		 * @param color 需要绘制内发光圆角矩形的填充颜色值。
		 * @param glowColor 需要绘制内发光圆角矩形的发光颜色值。
		 * @param x 需要绘制内发光圆角矩形在Graphics上的x轴坐标。
		 * @param y 需要绘制内发光圆角矩形在Graphics上的y轴坐标。
		 * @param width 需要绘制内发光圆角矩形在Graphics上的宽度。
		 * @param height 需要绘制内发光圆角矩形在Graphics上的宽度。
		 * @param topLeftRadius 需要绘制内发光圆角矩形的左上角弧度。
		 * @param topRightRadius 需要绘制内发光圆角矩形的右上角弧度。
		 * @param bottomLeftRadius 需要绘制内发光圆角矩形的左下角弧度。
		 * @param bottomRightRadius 需要绘制内发光圆角矩形的右下角弧度。
		 * @param alpha 需要绘制内发光圆角矩形的填充透明度。
		 * @param glowAlpha 需要绘制内发光圆角矩形的发光透明度。
		 * @param line 需要绘制内发光圆角矩形的光圈范围。
		 * @param sFill 需要绘制内发光圆角矩形是否显示填充色。
		 * 
		 * @example 示例:
		 * <listing version="3.0">
		 * class Test extends Sprite{
		 * 		public function Test(){
		 * 			GDI.drawRoundRectComplexInnerGlow(graphics, 0xffffff, 0xff0000, 50, 50, 80, 80, 3, 5, 5, 5, 0.4, 1, 5, true);
		 * 		}
		 * }
		 * </listing> 
		 */
		public static function drawRoundRectComplexInnerGlow(g:Graphics, color:uint, glowColor:uint, x:int, y:int, width:int, height:int, topLeftRadius:int = 0, topRightRadius:int = 0, bottomLeftRadius:int = 0, bottomRightRadius:int = 0, alpha:Number = 1, glowAlpha:Number = 1, line:int = 3, sFill:Boolean = false):void{
			g.beginFill(color, alpha);
			g.drawRoundRectComplex(x, y, width, height, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
			if(!sFill){
				g.drawRoundRectComplex(x + 1, y + 1, width - 2, height - 2, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
			}
			g.endFill();
			var change:Number = glowAlpha / line;
			while(--line > 0){
				g.beginFill(glowColor, glowAlpha - change * line);
				g.drawRoundRectComplex(x + line, y + line, width - line * 2, height - line * 2, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
				g.drawRoundRectComplex(x + line + 1, y + line + 1, width - line * 2 - 2, height - line * 2 - 2, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
				g.endFill();
			}
		}
		/**
		 * 通过参数设置快速绘制一个指定参数的外发光矩形在Graphics对象实例上。
		 * @param g 需要绘制外发光矩形的Graphics对象实例。
		 * @param color 需要绘制外发光矩形的填充颜色值。
		 * @param glowColor 需要绘制外发光矩形的发光颜色值。
		 * @param x 需要绘制外发光矩形在Graphics上的x轴坐标。
		 * @param y 需要绘制外发光矩形在Graphics上的y轴坐标。
		 * @param width 需要绘制外发光矩形在Graphics上的宽度。
		 * @param height 需要绘制外发光矩形在Graphics上的宽度。
		 * @param alpha 需要绘制外发光矩形的填充透明度。
		 * @param glowAlpha 需要绘制外发光矩形的发光透明度。
		 * @param line 需要绘制外发光矩形的光圈范围。
		 * @param sFill 需要绘制外发光矩形是否显示填充色。
		 * 
		 * @example 示例:
		 * <listing version="3.0">
		 * class Test extends Sprite{
		 * 		public function Test(){
		 * 			GDI.drawRectOuterGlow(graphics, 0xffffff, 0xff0000, 50, 50, 80, 80, 0.4, 1, 5, true);
		 * 		}
		 * }
		 * </listing> 
		 */
		public static function drawRectOuterGlow(g:Graphics, color:uint, glowColor:uint, x:int, y:int, width:int, height:int, alpha:Number = 1, glowAlpha:Number = 1, range:int = 3, sFill:Boolean = false):void{
			g.beginFill(color, alpha);
			g.drawRect(x, y, width, height);
			if(!sFill){
				g.drawRect(x + 1, y + 1, width - 2, height - 2);
			}
			g.endFill();
			var change:Number = glowAlpha / range;
			while(--range > 0){
				g.beginFill(glowColor, glowAlpha - change * range);
				g.drawRect(x - range, y - range, width + range * 2, height + range * 2);
				g.drawRect(x - range + 1, y - range + 1, width + range * 2 - 2, height + range * 2 - 2);
				g.endFill();
			}
			
		}
		/**
		 * 通过参数设置快速绘制一个指定参数的外发光圆角矩形在Graphics对象实例上。
		 * @param g 需要绘制外发光圆角矩形的Graphics对象实例。
		 * @param color 需要绘制外发光圆角矩形的填充颜色值。
		 * @param glowColor 需要绘制外发光圆角矩形的发光颜色值。
		 * @param x 需要绘制外发光圆角矩形在Graphics上的x轴坐标。
		 * @param y 需要绘制外发光圆角矩形在Graphics上的y轴坐标。
		 * @param width 需要绘制外发光圆角矩形在Graphics上的宽度。
		 * @param height 需要绘制外发光圆角矩形在Graphics上的宽度。
		 * @param topLeftRadius 需要绘制外发光圆角矩形的左上角弧度。
		 * @param topRightRadius 需要绘制外发光圆角矩形的右上角弧度。
		 * @param bottomLeftRadius 需要绘制外发光圆角矩形的左下角弧度。
		 * @param bottomRightRadius 需要绘制外发光圆角矩形的右下角弧度。
		 * @param alpha 需要绘制外发光圆角矩形的填充透明度。
		 * @param glowAlpha 需要绘制外发光圆角矩形的发光透明度。
		 * @param line 需要绘制外发光圆角矩形的光圈范围。
		 * @param sFill 需要绘制外发光圆角矩形是否显示填充色。
		 * 
		 * @example 示例:
		 * <listing version="3.0">
		 * class Test extends Sprite{
		 * 		public function Test(){
		 * 			GDI.drawRoundRectComplexOuterGlow(graphics, 0xffffff, 0xff0000, 50, 50, 80, 80, 3, 5, 5, 5, 0.4, 1, 5, true);
		 * 		}
		 * }
		 * </listing> 
		 */
		public static function drawRoundRectComplexOuterGlow(g:Graphics, color:uint, glowColor:uint, x:int, y:int, width:int, height:int, topLeftRadius:int = 0, topRightRadius:int = 0, bottomLeftRadius:int = 0, bottomRightRadius:int = 0, alpha:Number = 1, glowAlpha:Number = 1, range:int = 3, sFill:Boolean = false):void{
			g.beginFill(color, alpha);
			g.drawRoundRectComplex(x, y, width, height, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
			if(!sFill){
				g.drawRoundRectComplex(x + 1, y + 1, width - 2, height - 2, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
			}
			g.endFill();
			var change:Number = glowAlpha / range;
			while(--range > 0){
				g.beginFill(glowColor, glowAlpha - change * range);
				g.drawRoundRectComplex(x - range, y - range, width + range * 2, height + range * 2, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
				g.drawRoundRectComplex(x - range + 1, y - range + 1, width + range * 2 - 2, height + range * 2 - 2, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
				g.endFill();
			}
			
		}
		/**
		 * 通过参数设置快速绘制一个指定参数的对称九格图形在Graphics对象实例上。
		 * @param g 需要绘制对称九格图形的Graphics对象实例。
		 * @param bits 对称九格bitmapData数组，数序为[上边,上,中边,中,下边,下]。
		 * @param x 需要绘制对称九格图形在Graphics上的x轴坐标。
		 * @param y 需要绘制对称九格图形在Graphics上的y轴坐标。
		 * @param width 需要绘制对称九格图形在Graphics上的宽度。
		 * @param height 需要绘制对称九格图形在Graphics上的宽度。
		 * 
		 * @example 示例:
		 * <listing version="3.0">
		 * class Test extends Sprite{
		 * 		public function Test(){
		 * 			var bits:Array = [
		 * 				new BitmapData(20, 20, 0xff0000),
		 * 				new BitmapData(1, 20, 0xff0000),
		 * 				new BitmapData(20, 1, 0xcccccc),
		 * 				new BitmapData(1, 1, 0xcccccc),
		 * 				new BitmapData(20, 10, 0xffffff),
		 * 				new BitmapData(1, 10, 0xffffff),
		 * 			];
		 * 			GDI.drawSymmetryNineGrid(graphics, bits, 50, 50, 400, 300);
		 * 		}
		 * }
		 * </listing> 
		 */
		public static function drawSymmetryNineGrid(g:Graphics, bits:Array, x:int, y:int, width:int, height:int):void{
			drawNineGrid(g, 
			[bits[0], bits[1], bits[0],
			bits[2], bits[3], bits[2],
			bits[4], bits[5], bits[4]], 
			x, y, width, height);
			var BLUSide:BitmapData = bits[0];
			drawBitmap(g, x, y, BLUSide.width, BLUSide.height, BLUSide);//上左
			var BRUSide:BitmapData = bits[0];
			drawBitmapTurn(g, width - BRUSide.width + x, y, BRUSide.width, BRUSide.height, BRUSide, HORIZONTAL);//上右
			var BUCenter:BitmapData = bits[1];
			drawBitmap(g, BLUSide.width + x, y, width - BLUSide.width * 2, BUCenter.height, BUCenter);//上中
			//------下
			var BLDSide:BitmapData = bits[4];
			drawBitmap(g, x, height - BLDSide.height + y, BLDSide.width, BLDSide.height, BLDSide);//下左
			var BRDSide:BitmapData = bits[4];
			drawBitmapTurn(g, width - BRDSide.width + x, height - BRDSide.height + y, BRDSide.width, BRDSide.height, BRDSide, HORIZONTAL);//下右
			var BDCenter:BitmapData = bits[5];
			drawBitmap(g, BLDSide.width + x, height - BDCenter.height + y, width - BLDSide.width - BRDSide.width, BDCenter.height, BDCenter);//下中
			//中
			var BLCC:BitmapData = bits[2];
			var BCCY:Number = y + BLUSide.height;
			drawBitmap(g, x, BCCY, BLCC.width, height - BLDSide.height - BLUSide.height, BLCC);//左中
			var BRCC:BitmapData = bits[2];
			drawBitmapTurn(g, width - BRCC.width + x, BCCY, BRCC.width, height - BRDSide.height - BRUSide.height, BRCC);//中右
			var C:BitmapData = bits[3];
			drawBitmap(g, BLCC.width + x, BCCY, width - BLCC.width - BRCC.width, height - BDCenter.height - BUCenter.height, C);//中
			
		}
		/**
		 * 通过参数设置快速绘制一个指定参数的九格图形在Graphics对象实例上。
		 * @param g 需要绘制九格图形的Graphics对象实例。
		 * @param bits 九格bitmapData数组，数序为[左上,上,右上,左中,中,右中,左下,下,右下]。
		 * @param x 需要绘制九格图形在Graphics上的x轴坐标。
		 * @param y 需要绘制九格图形在Graphics上的y轴坐标。
		 * @param width 需要绘制九格图形在Graphics上的宽度。
		 * @param height 需要绘制九格图形在Graphics上的宽度。
		 * 
		 * @example 示例:
		 * <listing version="3.0">
		 * class Test extends Sprite{
		 * 		public function Test(){
		 * 			var bits:Array = [
		 * 				new BitmapData(20, 20, 0xfff000),
		 * 				new BitmapData(1, 20, 0xff0000),
		 * 				new BitmapData(20, 30, 0xfff000),
		 * 				new BitmapData(20, 1, 0xccc000),
		 * 				new BitmapData(1, 1, 0xcccccc),
		 * 				new BitmapData(20, 1, 0xccc000),
		 * 				new BitmapData(20, 10, 0xffffff),
		 * 				new BitmapData(1, 10, 0xfff000),
		 * 				new BitmapData(20, 10, 0xffffff),
		 * 			];
		 * 			GDI.drawNineGrid(graphics, bits, 50, 50, 400, 300);
		 * 		}
		 * }
		 * </listing> 
		 */
		public static function drawNineGrid(g:Graphics, bits:Array, x:int, y:int, width:int, height:int):void{
			var BLUSide:BitmapData = bits[0];
			drawBitmap(g, x, y, BLUSide.width, BLUSide.height, BLUSide);//上左
			var BRUSide:BitmapData = bits[2];
			drawBitmap(g, width - BRUSide.width + x, y, BRUSide.width, BRUSide.height, BRUSide);//上右
			var BUCenter:BitmapData = bits[1];
			drawBitmap(g, BLUSide.width + x, y, width - BLUSide.width * 2, BUCenter.height, BUCenter);//上中
			//------下
			var BLDSide:BitmapData = bits[6];
			drawBitmap(g, x, height - BLDSide.height + y, BLDSide.width, BLDSide.height, BLDSide);//下左
			var BRDSide:BitmapData = bits[8];
			drawBitmap(g, width - BRDSide.width + x, height - BRDSide.height + y, BRDSide.width, BRDSide.height, BRDSide);//下右
			var BDCenter:BitmapData = bits[7];
			drawBitmap(g, BLDSide.width + x, height - BDCenter.height + y, width - BLDSide.width - BRDSide.width, BDCenter.height, BDCenter);//下中
			//中
			var BLCC:BitmapData = bits[3];
			var BCCY:Number = y + BLUSide.height;
			drawBitmap(g, x, BCCY, BLCC.width, height - BLDSide.height - BLUSide.height, BLCC);//左中
			var BRCC:BitmapData = bits[5];
			drawBitmap(g, width - BRCC.width + x, BCCY, BRCC.width, height - BRDSide.height - BRUSide.height, BRCC);//中右
			var C:BitmapData = bits[4];
			drawBitmap(g, BLCC.width + x, BCCY, width - BLCC.width - BRCC.width, height - BDCenter.height - BUCenter.height, C);//中
			
		}
		/**
		 * 通过参数设置快速绘制bitmapData在一个指定的Graphics对象实例上。
		 * @param g 需要绘制图形的Graphics对象实例。
		 * @param x 需要绘制图形在Graphics上的x轴坐标。
		 * @param y 需要绘制图形在Graphics上的y轴坐标。
		 * @param width 需要绘制图形在Graphics上的宽度。
		 * @param height 需要绘制图形在Graphics上的宽度。
		 * @param bitmapData 需要绘制图形的对象实例。
		 * 
		 * @example 示例:
		 * <listing version="3.0">
		 * class Test extends Sprite{
		 * 		public function Test(){
		 * 			var bitmapData:BitmapData = new BitmapData(50, 50, 0xff0000);
		 * 			GDI.drawBitmapTurn(graphics, 10, 10, 50, 50, bitmapData);
		 * 		}
		 * }
		 * </listing> 
		 */
		public static function drawBitmap(g:Graphics, x:int, y:int, width:int, height:int, bitmapData:BitmapData):void{
			m.a = m.d = 1;
			m.tx = x;
			m.ty = y;
			g.beginBitmapFill(bitmapData, m, true, false);
			g.drawRect(x , y , width, height);
			g.endFill();
			
		}
//		/**
//		 * 为指定显示对象实例加红色外发光，如需要取消红色外发光请将displayObject.filters置为null。
//		 * @param displayObject 需要进行外发光设置的显示对象实例。
//		 * @example 示例:
//		 * <listing version="3.0">
//		 * class Test extends Sprite{
//		 * 		public function Test(){
//		 * 			graphics.beginFill(0x00);
//		 * 			graphics.drawRect(50, 50, 50, 50);
//		 * 			graphics.endFill();
//		 * 			GDI.LevelsRed(this);
//		 * 		}
//		 * }
//		 * </listing> 
//		 */
//		public static function LevelsRed(displayObject:DisplayObjectContainer):void{
//			displayObject.filters = [new ColorMatrixFilter([
//				1,0,0,0,85,
//				0,1,0,0,0,
//				0,0,1,0,0,
//				0,0,0,1,0])];
//		}
	}
}